package Estructuras;

import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;

public class RegistroCalificaciones extends Registro{
	public static void obtenerDatos(ArrayList<Calificacion> lista, String nombreUsuario) {
		char buffer[]= new char[512];
		int caracteresBuffer= 0;
		int indiceBuffer= 0;
		File archivo= null;
		FileReader lector;
		try{
			archivo= new File(nombreUsuario+"Calificaciones.txt");
			lector= new FileReader(archivo);
			caracteresBuffer= lector.read(buffer,0,512);
			while(caracteresBuffer!= -1){
				if(buffer[indiceBuffer] == '['){
					Calificacion calificacion= new Calificacion();
					int indiceAtributos= 0;
					String palabra= "";
					indiceBuffer++;
					
					while(indiceAtributos!= 3){
						if(indiceBuffer == caracteresBuffer){
							caracteresBuffer= lector.read(buffer,0,512);
							indiceBuffer= 0;
						}
						if(buffer[indiceBuffer] == ',' || buffer[indiceBuffer] == ']'){
							if(indiceAtributos == 0) calificacion.setCalificacion(Float.parseFloat(palabra));
							else if(indiceAtributos == 1) calificacion.setUsuarioCalificador(palabra);
							else if(indiceAtributos == 2) calificacion.setDescripcion(palabra);
							palabra= "";
							indiceAtributos++;
							indiceBuffer++;
						}
						palabra+= buffer[indiceBuffer];
						indiceBuffer++;
					}
					indiceBuffer--;
					indiceBuffer--;
					lista.add(calificacion);
				}
				indiceBuffer++;
				if(indiceBuffer >= caracteresBuffer){
					caracteresBuffer= lector.read(buffer,0,512);
					indiceBuffer= 0;
				}
			}
			lector.close();
		}
		catch(IOException e){
			System.out.println("Error, no se pudo obtener el registro");
		}
	}
}
